<?  
  set_time_limit(4500);
  /* Se asegura que el archivo es incluido por el index */
    defined( 'LOAD_MODULE_ACTION' ) or die( 'No esta permitido el acceso directo a ' . __FILE__ );  
	/* Cuando se hace el include del archivo automaticamente crea un objeto y lo guarda en una variable temporal */
		$this->oTmpObject = new Agencia_Excursion_exe( $this );
    
	class Agencia_Excursion_exe extends Exe
	{
	function Agencia_Excursion_exe( &$oModule )
		{
			$this->Exe( $oModule );
		}
		// AGREGAR_AGENCIA_EXCURSION
		function insert()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Agencia_Excursion_frm' );
			extract( $oForm->getFieldArray() );
			// Busca el siguiente id
			$ncOrden      = $this->oDatabase->nextKey("gtExcursion", "ncOrden" , "ncEstablecimiento=$ncEstablecimiento" );
			$this->oDatabase->insert("gtExcursion"
								,"ncOrden", $ncOrden
								,"ncEstablecimiento", $ncEstablecimiento
								,"ncTipoExcursion", $ncTipoExcursion
								,"bVisitaGuiada", $bVisitaGuiada
								,"bSalidasRegulares", $bSalidasRegulares
								,"cdExcursion", $cdExcursion
								,"cDescripcion", $cDescripcion
								,"bOrganiza", $bOrganiza);

				$aProductos = $oForm->aFields['aProductos']->getValue();
				foreach( $aProductos as $ncProducto )
				{
					$this->oDatabase->insert("gtProductoAgencia"
										,"ncProducto", $ncProducto
										,"ncEstablecimiento", $ncEstablecimiento
										,"ncOrden", $ncOrden
									);
				}

			$this->setInputData( $ncEstablecimiento . '|' . $ncOrden, $cdExcursion );
		}
		
		// ELIMINAR_AGENCIA_EXCURSION
		function delete()
		{
			$ncOrden = getParam( 'ncOrden' );
			$ncEstablecimiento = getParam( 'ncEstablecimiento' );
			$this->oDatabase->delete("gtExcursion","ncOrden", $ncOrden,"ncEstablecimiento", $ncEstablecimiento );
		}
		
		// MODIFICAR_AGENCIA_EXCURSION
		function update()
		{
			// Convierte a variables los datos del Formulario asociado a la accion
			$oForm = $this->oModule->loadClass( 'Agencia_Excursion_frm' );
			extract( $oForm->getFieldArray() );
			$this->oDatabase->update("gtExcursion"
								,"ncTipoExcursion", $ncTipoExcursion
								,"bVisitaGuiada", $bVisitaGuiada
								,"bSalidasRegulares", $bSalidasRegulares
								,"cdExcursion", $cdExcursion
								,"cDescripcion", $cDescripcion
								,"bOrganiza", $bOrganiza
								,"WHERE"
								 ,"ncOrden", $ncOrden
								 ,"ncEstablecimiento", $ncEstablecimiento);
								 
			$aProductos = $oForm->aFields['aProductos']->getValue();
			foreach( $aProductos as $ncProducto )
			{
				$this->oDatabase->insert("gtProductoAgencia"
									,"ncProducto", $ncProducto
									,"ncEstablecimiento", $ncEstablecimiento
									,"ncOrden", $ncOrden
								);
			}
			$this->setInputData( $ncEstablecimiento . '|' . $ncOrden, $cdExcursion );
		}
	}
?>